package com.wfm.leetcode.editor.cn;

import java.util.Arrays;

/**
 * 会议开始时间和结束时间,看一个人是否能参加这里面的全部会议
 * 输入：intervals = [[0,30],[5,10],[15,20]]
 * 输出：false
 * 输入：intervals = [[7,10],[2,4]]
 * 输出：true
 *
 * 时间复杂度o(NlogN),因为排序需要这么多
 * 空间复杂度o(1)
 */
public class P252会议室 {
    public boolean canAttendMeetings(int[][] a){
        Arrays.sort(a,(o1,o2)-> o1[0]==o2[0]?o1[1]-o2[1]:o1[0]-o2[0]);
        int i = 0;
        for (int[] x : a) {
            // 当前会议的开始时间x[0]比之前的会议的结束时间i更大，那么把之前的会议结束时间改成当前会议的结束时间x[1]
            if(x[0]>=i) i = x[1];
            else  return false;
        }
        return true;
    }
}
